﻿namespace Harness
{
    using System;
    using System.Runtime.InteropServices;

    [Guid("25273BDD-8E48-417D-83D0-C43E392C61D1")]
    public interface IRecorder
    {
        #region Constants
        #endregion

        #region Fields
        #endregion

        #region Constructors
        #endregion

        #region Destructors
        #endregion

        #region Delegates
        #endregion

        #region Events

        event Recording.StartedEventHandler Started;

        event EventHandler Stopped;

        event Recording.CommandRecordingEventHandler CommandRecording;

        #endregion

        #region Enums
        #endregion

        #region Interfaces
        #endregion

        #region Properties

        bool IsRecording { get; }

        #endregion

        #region Indexers
        #endregion

        #region Public Methods

        void Start(string languageType = "");

        void Stop();

        void OnCommandRecording(string cmd, string arg1 = "", string arg2 = "", string arg3 = "", string arg4 = "", string arg5 = "");

        #endregion

        #region Private Methods
        #endregion

        #region Structs
        #endregion

        #region Classes
        #endregion
    }
}
